package evemanutool.utils.exceptions;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.beimin.eveapi.exception.ApiException;
import evemanutool.constants.ErrorConstants;
@SuppressWarnings("serial")
public class ApiServerException extends ServerException implements ErrorConstants {
public ApiServerException(ApiException e) {
super(e);
}
public ApiServerException(String userMessage) {
super(userMessage);
}
@Override
protected String decodeException(Exception e) {
String msg = e.getMessage();
Pattern p = Pattern.compile(HTTP_CODE_PATTERN);
Matcher m = p.matcher(msg);
if (m.find()) {
//HTTP message.
p = Pattern.compile(ERROR_CODE_PATTERN);
m = p.matcher(msg);
if (m.find()) {
//React to code.
//m.group();
return API_HTTP_ERROR_MESSAGE;
}
} else {
//API message.
p = Pattern.compile(ERROR_CODE_PATTERN);
m = p.matcher(msg);
if (m.find()) {
//React to code.
//m.group();
return API_INTERNAL_ERROR_MESSAGE;
}
}
return API_UNKNOWN_ERROR_MESSAGE;
}
}